package com.qzsoft.zhjd.home.v2.service;

import java.util.List;
import java.util.Map;

import com.qzsoft.zhjd.home.v2.dto.ProductionCountDto;
import com.qzsoft.zhjd.home.v2.dto.AsphaltDataWeightDto;
import com.qzsoft.zhjd.home.v2.dto.EnvDataDto;
import com.qzsoft.zhjd.home.v2.dto.MaterielCountDto;
import com.qzsoft.zhjd.home.v2.dto.ProductionMonthCountDto;

/**
 * @ClassName ZhjdHomeV2Service
 * @Description 养护基地首页业务接口
 * @author linhuawei
 * @since 2022-08-17
 */
public interface ZhjdHomeV2Service {

    /**
     * @Title productionCount
     * @Description 获取生产统计信息
     * @param baseCode 基地编号
     * @return 生产统计信息
     */
    List<ProductionCountDto> productionCount(String baseCode);

    /**
     * @Title productionAsphaltCount
     * @Description 获取沥青指定年份统计信息
     * @param baseCode 基地编号
     * @param year     年份
     * @return 沥青指定年份统计信息
     */
    List<ProductionMonthCountDto> productionAsphaltCount(String baseCode, Integer year);

    /**
     * @Title productionCementCount
     * @Description 获取水稳指定年份统计信息
     * @param baseCode 基地编号
     * @param year     年份
     * @return 水稳指定年份统计信息
     */
    List<ProductionMonthCountDto> productionCementCount(String baseCode, Integer year);

    /**
     * @Title productionRealTime
     * @Description 生产实时情况
     * @param params 查询条件
     * @return 生产实时情况
     */
    List<AsphaltDataWeightDto> productionRealTime(Map<String, Object> params);

    /**
     * @Title materielCount
     * @Description 收发料统计
     * @param baseCode   基地编号
     * @param weightType 过磅类型
     * @param type       时间：year年，month月，day日
     * @param time       查询时间
     * @return 收发料统计
     */
    MaterielCountDto materielCount(String baseCode, String weightType, String type, String time);

    /**
     * @Title envLatest
     * @Description 获取最新环保数据
     * @param baseCode 基地编号
     * @return 环保数据
     */
    EnvDataDto envLatest(String baseCode);

}
